package com.company.class1;

import java.sql.SQLOutput;

/**
 * @Classname VarsTest
 * @Description 八大基础数据类型
 * @Date 2022/4/10 16:17
 * @Created by zbw
 */

public class VarsTest {
    public static void main(String[] args) {
        //高转低，需要强制转换
        //强制转换
        byte bc = (byte)128;
        System.out.println(bc);
//        bc = 128;
        byte ba = 127;
        System.out.println(ba);

        int ic = 164556;
        byte bbc = (byte)ic;
        //低转高，自动转
        short sbc = (byte)ic;
        short ssc = (short) ic;
        System.out.println(bbc);
        System.out.println(sbc);
        System.out.println(ssc);
        //long型，数据如果超出了int范围，会报错，在后面加上L
        long la = 11122233331212L;
        System.out.println(la);

        //小数，默认使用double
        double da = 1.4234321234324;
        //默认用的double类型，由于float比较短，所以会报错。
        //可以强制转换，也可以后面加f
        float fa = 1.4234321234324f;
        float fb = (float) 1.4234321234324;
        //不要期望用基本数据类型进行高精度计算
        System.out.println(da);
        System.out.println(fa);
        System.out.println(fb);

        //布尔型：只有true和false两个值
        boolean bla = true;
        boolean blb = false;

        //字符型：用单引号引起来，里面只能填一个
        char ca = '1';
        //char的对应整数，就是unicode编码的数字编号
        System.out.println((int)ca);
        //进行计算的时候，会自动转换成int类型进行计算
        System.out.println(ca+1);

        //将单引号从原本表示字符串的包裹，变成普通单引号。
        char cd = '\'';
        System.out.println(cd);
        //单引号中的双引号不会产生歧义，直接写，不用转义，加了也没关系
        char ce = '"';

        //字符串：不是八大数据类型，但是最常用
        String str = "zbw";



    }
}
